/**
 * @file CartLine.java
 * Projet eCOM 2010 (Miage Descartes)
 * @author Doido Sébastien
 * @version 2
 * @brief Bean relatif au traitement d'une ligne de commande dans le panier
 */
package ecom.beans;

import java.io.Serializable;
import javax.ejb.Stateful;

/**
 * @brief Représente une ligne de commande du panier (ligne de stock commandée, quantitée commandée)
 * @author Sebastien
 */
@Stateful
public class CartLine implements Serializable {

    /**
     * @brief Ligne de stock commandée
     */
    private WarehouseLineBean stock;

    /**
     * @brief Quantité commandée
     */
    private int orderedQuantity;

    public CartLine() {
    }

    /**
     * @brief Constructeur de la ligne de commande panier
     * @param stock : ligne de stock commandée
     * @param q : quantité commandée
     */
    public CartLine(WarehouseLineBean stock, int q) {
        this.stock = stock;
        this.orderedQuantity = q;
    }

    /**
     * @brief Renvoie la quantité commandée pour cette ligne de commande
     * @return la quantité commandée pour cette ligne de commande
     */
    public int getOrderedQuantity() {
        return orderedQuantity;
    }

    /**
     * @brief Renvoie la ligne de stock commandée
     * @return la ligne de stock commandée
     */
    public WarehouseLineBean getStock() {
        return stock;
    }

    /**
     * @brief définit la quantité commandée pour la ligne de commande
     * @param orderedQuantity : nouvelle quantité
     */
    public void setOrderedQuantity(int orderedQuantity) {
        this.orderedQuantity = orderedQuantity;
    }


    @Override
    public String toString() {
        return "Product #" + this.getStock().getProduct().getProductId() +
                "Store #" + this.getStock().getStore().getReference() +
                "Q : " + this.getOrderedQuantity();
    }

    void setStock(WarehouseLineBean stock) {
        this.stock = stock;
    }
}
